package org.catspaw.cherubim.lookup;

public interface Lookuper {

	<T> Class<? extends T> lookupImplemention(Class<T> interfaceClass)
			throws LookupException;

	<T> Class<? extends T> lookupImplemention(Class<T> interfaceClass,
			ClassLoader classLoader) throws LookupException;

	<T> T lookupInstance(Class<T> interfaceClass) throws LookupException;

	<T> T lookupInstance(Class<T> interfaceClass, ClassLoader classLoader)
			throws LookupException;

	Object lookupInstance(String name) throws LookupException;
}
